Amazon MWAAがApache Airflow v2.2.2をサポートしました

Amazon MWAAがApache Airflow v2.2.2をサポートしました

Clock Icon2022.02.03

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いわさです。

Amazon Managed Workflow for Apache Airflow(MWAA)がAirflow v2.2を利用出来るようになりました。
マネージメントコンソールからAirflowバージョンを指定するだけですぐに利用可能です。

前回まではv2.0.2がサポートされていました。
v2.1を超えて一気にv2.2がサポートされましたね。

新機能を試す

MWAAで新しいバージョンが使えるようになりましたよ!ってだけなので、本題はここまでなのですが、せっかくなのでAirflow 2.1と2.2の新機能を少しだけ触ってみましょう。

ツリービューの自動更新機能

v2.0でグラフビューの自動更新機能が追加されていましたが、v2.1でツリービューも自動更新に対応しました。

カレンダービューの追加

こちらはv2.1で追加された新しいビューです。
DAGの実行状態をカレンダー形式で可視化出来ます。

DAGが一度でも失敗した日はfailedとして表示されます。
ツールチップからより詳細な実行数も確認可能です。

対象日をクリックすると、対象日のツリービューを開くことが出来ます。

プロバイダーページ

v2.2で、AdminタブにProvidersタブが追加されています。
プロバイダーパッケージ情報の一覧を確認することが出来ます。

カスタムタイムテーブル

おそらくv2.2で一番大きなアップデートでしょうか。
これまでcron式かdatetime.timedeltaを使うことが出来ましたが、より柔軟なタイムスケージュールを構築出来るように、カスタムタイムテーブル機能が追加されています。

カスタムタイムテーブルを使う前に、まずはプラグインを作成する必要があります。

Customizing DAG Scheduling with Timetables — Airflow Documentation

from airflow.plugins_manager import AirflowPlugin
from airflow.timetables.base import Timetable

class AfterWorkdayTimetable(Timetable):
    pass

class WorkdayTimetablePlugin(AirflowPlugin):
    name = "workday_timetable_plugin"
    timetables = [AfterWorkdayTimetable]

DAGのパラメータで指定したカスタムテーブルクラスはSchedule列に表示されます。

さいごに

本日はAmazon MWAAで新たにサポートされた、Apache Airflow v2.2.2を少し触ってみました。
アップグレードも簡単かなと思ったら、現在旧バージョンからのインプレースアップグレードは対応していないようです。アップグレード方法の詳細は以下をご参照ください。

Upgrading from Apache Airflow v2.0.2 to Apache Airflow v2.2.2

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.